home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 39
/
Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso
/
Aminet
/
biz
/
swood
/
FW_AllInOne.lha
/
Makros
/
AGImport.long
< prev
next >
Wrap
Text File
|
1998-01-23
|
27KB
|
899 lines
/*AmigaGuide2FWDoc
0.7beta 09.01.98 */
Parse ARG FW
if ~show('L',"rexxreqtools.library") then
if ~addlib('rexxreqtools.library',0,-30,0) then do
ShowMessage 1 1 '"Fehler...." "Benötige Libs:rexxreqtools.library" " A B B R U C H ! !" "Okay" "" ""'
exit
end
IF ~show('L','tritonrexx.library') then
IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN DO
ShowMessage 2 1 '"Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
exit
END
R='0A'X
SIGNAL ON SYNTAX
If FW='' then do
Address='FinalW'
Options results
STATUS PORTNAME
FW = result
End
address(FW)
CtrlUp
ShiftUp
AltUp
address "REXX"
If open('Hilfe',"S:FW_Paket.prefs","R") then do /* Hilfe-Verzeichnis */
HilfeVerz=readln('Hilfe')
Call Close('Hilfe')
End
else HilfeVerz=''
If ~exists("s:FW_AGImport.prefs") then do
USchrift="Courier_Bold"; USize=14
TSchrift="Courier"; TSize=10
Schablone="(siehe %K, Seite %S)"
speed=1
Umbruch=0
node=0
end
else do
Call Open("prefs","S:FW_AGImport.prefs","R")
USchrift=readln("prefs")
USize =readln("prefs")
TSchrift=readln("prefs")
TSize =readln("prefs")
Schablone=readln("prefs")
speed =readln("prefs")
Umbruch =readln("prefs")
node =readln("prefs")
Call Close("prefs")
end
speed.0=2
speed.1="normal"
speed.2="schnell"
pos = max(index(USchrift,':'),lastpos('/',USchrift))
If pos~=0 then fond1=Delstr(USchrift,1,pos)
else fond1=USchrift
pos = max(index(TSchrift,':'),lastpos('/',TSchrift))
If pos~=0 then fond2=Delstr(TSchrift,1,pos)
else fond2=TSchrift
If Umbruch=0 then UB="nein"
else UB="ja"
If node=0 then NO="nein"
else NO="ja"
o1="Überschrift: "||fond1||", Größe: "||USize
o2="Mengentext: "||fond2||", Größe: "||TSize
o3="Ausgabe: "||Schablone||" Geschw.: "||speed.speed
o4="Seitenumbruch: "||UB||", @node: "||NO
oldspeed=speed
oldUmbruch=Umbruch
oldnode=node
oldUSchrift=USchrift; oldTSchrift=TSchrift
oldfond1=fond1; oldfond2=fond2
apptags = 'TRCA_Name AG2FW',
'TRCA_LongName "AmigaGuideKonverter"',
'TRCA_Info "für FinalWriter"',
'TRCA_Version "1.0 registered"',
'TRCA_Release "1"',
'TRCA_Date "09.01.98"',
'TAG_END'
/*******************************************************************************
** Aufbau der GUI
*******************************************************************************/
windowtags = WindowID(1),
WindowPosition('TRWP_CENTERDISPLAY'),
WindowFlags('TRWF_NOMINTEXTWIDTH'),
PubScreenName('FinalWriterPubScreen'),
WindowTitle("AmigaGuideImport"),
BeginMenu('Projekt'),
MenuItem('Voreinsteller...',102),
'ItemBarlabel',
MenuItem('Q_Verlassen',104),
BeginMenu('?'),
MenuItem('?_Info',101),
MenuItem('H_Hilfe',103),
'HorizGroupAC SpaceS',
'VertGroupAC SpaceS',
'HorizSeparator',
'SpaceS',
TextH(o1) 'TRAT_ID 5',
TextH(o2) 'TRAT_ID 6',
TextH(o3) 'TRAT_ID 7',
TextH(o4) 'TRAT_ID 8',
'SpaceS',
'HorizSeparator',
'Space',
Progress(100,0,7) 'TRAT_Flags TRCY_RIGHTLABELS',
'SpaceS',
'HorizGroupSA',
TextN("0"),
'SpaceB Space SpaceB',
TextN("25"),
'SpaceB Space SpaceB',
TextN("50"),
'SpaceB Space SpaceB',
TextN("75"),
'SpaceB Space SpaceB',
TextN("100"),
'EndGroup',
'SpaceS',
'HorizgroupEC',
Button('_Anwenden',1),
'SpaceS',
Button('_Verweise',3),
'SpaceS',
Button('Ab_bruch',2),
'EndGroup SpaceS',
'EndGroup SpaceS',
'EndGroup SpaceS',
'EndProject'
app = TR_CREATEAPP('TRCA_Name AGImport')
/*******************************************************************************
** Abfrage der GUI
*******************************************************************************/
IF app ~= '00000000'x THEN DO
window1 = TR_OPENPROJECT(app,windowtags)
IF window1 ~= '00000000'x THEN DO
ende = 0
DO WHILE ~ende
CALL TR_WAIT(app,'')
DO WHILE TR_HANDLEMSG(app,'event')
IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN ende=1
IF event.trm_class = 'TRMS_ACTION' THEN DO
SELECT
WHEN event.trm_id = 1 THEN Call program /*starten*/
WHEN event.trm_id = 3 THEN Call Verweisen /*Verweise*/
WHEN event.trm_id = 2 THEN ende=1 /*ende*/
WHEN event.trm_id = 101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"AmigaGuideImport V1.0 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
WHEN event.trm_id = 102 THEN Call Voreinstellung
WHEN event.trm_id = 103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"AGImport.guide"||d2c(34)
WHEN event.trm_id = 104 THEN ende=1
OTHERWISE NOP
END
END
END
END
CALL TR_CLOSEPROJECT(window1)
END
CALL TR_DELETEAPP(app)
END
ELSE
CALL quit('Kann das Fenster nicht öffnen',10)
Exit
Program:
links=0
address "REXX"
verz=GetClip(AGImportVerz)
If verz~="" then do
pos = max(index(verz,':'),lastpos('/',verz))
IF (pos ~=0) then verz = LEFT(verz, pos)
END
MerkeSchablone=Schablone
guide = rtfilerequest(verz,,"Wähle das Guide aus...",,"rt_pubscrname=FinalWriterPubScreen rtfi_matchpat=#?")
IF guide = "" then return
SetClip(AGImportVerz,Guide)
call Time('R')
IF ~OPEN('Guide', guide, "R") THEN Return
DLaenge=Seek('Guide',0,'E')
temp =Seek('Guide',0,'B')
address command "search >ram:nodes search @node nonum "||d2c(34)||guide||d2c(34)
/*--------------------------- Kapitel raussuchen -------------------*/
Call Open('nodes', "ram:nodes", "R")
xy=0
Do While EOF("nodes")~=1
line=Readln("nodes")
line=Delstr(line,1,6)
xy=xy+1
pos4=Lastpos(d2c(34),line)
Select
When pos4=0 then do /* Keine "" z.B.: MAIN*/
Name.xy=line; Ueberschrift.xy=line
End
When pos4~=0 then do
pos3=LastPos(d2c(34),line,pos4-1)
Ueberschrift.xy=Right(line,Length(line)-pos3+1)
If pos3=1 then do /* z.B.: "MAIN" */
Name.xy=Ueberschrift.xy
End
Else do
pos2=LastPos(d2c(34),line,pos3-1)
If pos2=0 then do /* z.B.: MAIN "Titel" */
Name.xy=Delstr(line,pos3-1)
End
If pos2~=0 then do /* z.B. "MAIN" "Titel" */
pos1=LastPos(d2c(34),line,pos2-1)
line =Left(line,pos2)
Name.xy=Delstr(line,1,pos1-1)
End
End
End
Otherwise NOP
End
name.xy=Strip(name.xy,'B',d2c(34))
name.xy=Strip(name.xy,'B',d2c(9))
name.xy=Strip(name.xy,'B',d2c(160))
name.xy=Strip(name.xy)
Ueberschrift.xy=Strip(Ueberschrift.xy,'B',d2c(34))
Ueberschrift.xy=Strip(Ueberschrift.xy,'B',d2c(9))
Ueberschrift.xy=Strip(Ueberschrift.xy,'B',d2c(160))
Ueberschrift.xy=Strip(Ueberschrift.xy)
If Ueberschrift.xy="" then Ueberschrift.xy=name.xy
End
name.0=xy; Ueberschrift.0=xy
Call Close("nodes")
address command "delete ram:nodes QUIET"
/*----------------------Ende - Kapitel raussuchen -------------------*/
address(FW)
RedrawOff
Index=0
xy=0
TextTool
Font TSchrift
FontSize TSize
/* änderbar */
SectionSetup FirstPage 1 PageNumFormat Normal Footer 1 MPageOpt AllPages
line = ReadLn('Guide')
IF EOF('Guide') THEN leave
If pos("@DATABASE", upper(line))=0 then do
ShowMessage 1 1 '"Diese Datei ist kein AmigaGuide bzw."
"nicht AmigaGuide konform." ""
"Zurück" "" ""'
Call Close('Guide')
Return
End
If speed=2 then Call AnfView
Do While 1
Do While 1
line = ReadLn('Guide')
IF EOF('Guide') THEN leave
Stand=Seek('Guide',0,'C')
Select
When pos("@AUTHOR", upper(line))~=0 then do /*Autor*/
Type "Autor: "||Delstr(line,1,8); NewParagraph
End
when pos("@(C)", upper(line))~=0 then do /*Autor*/
Type "Copyright: "||Delstr(line,1,5); NewParagraph
End
when pos("@$VER:", upper(line))~=0 then do /*Version*/
Type "Version: "||Delstr(line,1,7); NewParagraph
End
when pos("@INDEX", upper(line))~=0 then Index=1 /*Index*/
when pos("@NODE", upper(line))~=0 then leave /*Anfang*/
otherwise NOP
End
End
/*Anfang eines Kapitels*/
pos = Pos('@NODE',upper(line))
If pos~=0 then
ok=0
Do i=1 to name.0
If (pos(name.i,line)~=0 & pos(Ueberschrift.i,line)~=0) then do
If node=1 then do
FontSize USize; Font USchrift
Type Ueberschrift.i
End
If MerkeSchablone~="" then do
If i<10 then Type "ð0"||i
else Type "ð"||i
End
If node=1 then do
FontSize TSize; Font TSchrift
NewParagraph; NewParagraph
end
ok=1
Leave
End
if ok=1 then leave
End
Test='' /* alle leeren Zeilen weg */
Do ForEver
Stand=Seek('Guide',0,'C')
test = ReadLn('Guide')
If eof('Guide') then leave
if (pos('@TOC',upper(test))~=0 | pos('@NEXT',upper(test))~=0 | pos('@PREV',upper(test))~=0) then test=''
If test~='' then do
s=Seek('Guide',Stand,'B')
Leave
End
End
Do While 1
Anz=0
Stand=Seek('Guide',0,'C')
line = ReadLn('Guide')
IF EOF('Guide') THEN leave
If pos("@ENDNODE", upper(line))~=0 then do
If Umbruch=1 then InsertPageBreak
Else do
NewParagraph; NewParagraph
End
Leave
End
If Pos("@TITLE ",upper(line))~=0 Then do
line=Strip(upper(line),'L',"@TITLE ")
line=Strip(line,'B',d2c(34))
FontSize USize; Font USchrift
Type line; line=""
FontSize TSize; Font TSchrift
End
Do While 1 /*Schleife bis alle gelöscht sind*/
pos1 = pos('@{',line)
if pos1~=0 then do /* Befehl gefunden */
pos2 = pos('}',line, pos1)
If pos2=0 then do
ShowMessage 1 1 '"Fehlerhafter AmigaGuide-Befehl!" "Dokument ist deshalb an dieser Stelle nicht ganz korrekt." "" "Klick" "" ""'
leave
end
Kom=line
Kom=Left(Kom,pos2)
If pos1>1 then do
Kom=Delstr(Kom,1,pos1-1)
Anz=Anz+1; line.Anz=Delstr(line,pos1)
End
Anz=Anz+1; line.Anz=Kom
line=Delstr(line,1,pos2)
End
Else Break
End
Do i=1 to Anz
Select
When (upper(line.i)="@{FG SHINE}"|upper(line.i)="@{APEN}"|upper(line.i)="@{BPEN}") Then
FontColor Rot
When (upper(line.i)="@{FG FILL}"|upper(line.i)="@{BG FILL}")~=0 Then
FontColor Blau
When (upper(line.i)="@{FG TEXT}"|upper(line.i)="@{BG BACK}"|upper(line.i)="@{PARD}") Then
FontColor Schwarz
When (upper(line.i)="@{UB}"|upper(line.i)="@{UI}"|upper(line.i)="@{UU}"|upper(line.i)="@{BODY}"|upper(line.i)="@{PLAIN}") Then
Style Normal
When upper(line.i)="@{JLEFT}" Then
Justify Left
When upper(line.i)="@{JRIGHT}" Then
Justify Right
When upper(line.i)="@{AMIGAGUIDE}" Then
Type "AMIGAGUIDE®"
When (upper(line.i)="@{LINE}"|upper(line.i)="@{PAR}") Then
NewParagraph
When (upper(line.i)="@{B}"|pos("SHADOW",upper(line.i))~=0|pos("HIGHLIGHT",upper(line.i))~=0) Then
Style Bold
When upper(line.i)="@{I}" Then
Style Italic
When upper(line.i)="@{U}" Then
Style UnderLine
When pos(d2c(34)||" LINK ",upper(line.i))~=0 Then do
pos1=Pos(d2c(34),line.i)
pos2=Pos(d2c(34),line.i,pos1+1)
temp=Delstr(line.i,pos2)
temp=Delstr(temp,1,pos1)
Type temp
pos1=Pos(d2c(34),line.i,pos2+1)
If pos1=0 then do
pos1=Pos("LINK",upper(line.i))+4
pos2=Pos("}",line.i,pos1+1)
End
else pos2=Pos(d2c(34),line.i,pos1+1)
temp=Delstr(line.i,pos2)
temp=Delstr(temp,1,pos1)
ok=0
Do j=1 to name.0
temp1=strip(name.j,'L',"@node")
temp1=strip(temp1,'L'," ")
temp1=strip(temp1,'B',d2c(34))
If pos(temp1,temp)~=0 then do
/* --------------Schablone auswerten -----------------*/
Text=""; MerkeSchablone=Schablone
Do ForEver
a=pos("%",Schablone)
If a=0 then do
Text=Text||Schablone
Leave
End
Text=Text||Left(Schablone,a-1)
Schablone=Delstr(Schablone,1,a)
next=Left(Schablone,1)
Schablone=Delstr(Schablone,1,1)
Select
When upper(next)="K" then Text=Text||Ueberschrift.j
When upper(next)="S" then do
If j<10 then Text=Text||"¤0"||j
else Text=Text||"¤"||j
links=links+1
End
Otherwise nop
End
End
Type Text
Schablone=MerkeSchablone
ok=1
End
If ok=1 then leave
/* --------------Schablone auswerten Ende-----------------*/
End
End
When (pos("SYSTEM",upper(line.i))~=0|pos("RX",upper(line.i))~=0|pos("MACRO",upper(line.i))~=0) Then
NOP
Otherwise Type line.i
End
End
If line~='' then type line
NewParagraph
prozent=Trunc(Stand/DLaenge*100)
CALL TR_SETATTRIBUTE(window1,7,'TRAT_Value',prozent)
END
IF EOF('Guide') THEN leave /*Ende des Dokumentes*/
End
Call Close('Guide')
MoveToLine 1 0
If speed=2 then Call EndView
say Time('E')
CALL TR_SETATTRIBUTE(window1,7,'TRAT_Value',100)
If MerkeSchablone~="" then do
ShowMessage 1 1 '"Die Importierung ist abgeschlossen."
"Es wurden vorläufig 'links' Verweise gekennzeichnet."
"Die endgültigen Verweise der Seitenzahlen müssen noch gesetzt werden..."
"Klick" "" ""'
ShowMessage 1 1 '"Bevor Sie die Verweise endgültig setzen,"
"erstellen Sie bitte eine EINFACHE SEITENNUMMER"
"(Menü: Extras | Einfache Seitennumer...)."
"Klick" "" ""'
End
Else do
ShowMessage 1 1 '"Die Importierung ist abgeschlossen."
"Sie wünschten keine Verweise." ""
"Klick" "" ""'
End
Return
Verweisen:
address(FW)
ShowMessage 1 1 '"Hiermit werden die Seitenverweise endgültig gesetzt."
"Dies sollten Sie nur dann tun, wenn Sie das Guide"
"Ihren Bedürfnissen vollständig angepaßt haben."
"Weiter" "Abbruch" ""'
If result=2 then Return
Status ParaPos
Zurueck=result
MoveToLine 1 0
SetFind WRAP NO
FIND "ð"
If speed=2 then Call AnfView
i=0
Do ForEver
Find "ð" /* VerweisSetzungen suchen */
If RC~=0 then Break
i=i+1
Status Page "Insert"
Seite.i=Result
Status ParaPos
Anfpos=Word(result,1) Word(result,2)
Cursor Right
Kennung=0
EXTRACT
DO WHILE ((RESULT<":")&(RESULT>"/")) /*Auslesen der VerweisZahl*/
Kennung=Kennung*10+Result
Cursor Right
Extract
END
Status ParaPos
EndPos=Result
MoveToPara AnfPos
ShiftDown
MoveToPara EndPos
ShiftUp
Delete
End
Seite.0=i
MoveToLine 1 0
RedrawOff
Do ForEver
Find "¤" /* Verweise suchen und hinschreiben*/
If RC~=0 then Break
Status ParaPos
Anfpos=Word(result,1) Word(result,2)
Cursor Right
Kennung=0
EXTRACT
DO WHILE ((RESULT<":")&(RESULT>"/")) /*Auslesen der VerweisZahl*/
Kennung=Kennung*10+Result
Cursor Right
Extract
END
Status ParaPos
EndPos=Result
MoveToPara AnfPos
ShiftDown
MoveToPara EndPos
ShiftUp
Type Seite.Kennung
End
MoveToPara Zurueck
REDRAWON
REDRAW
If speed=2 then Call EndView
ShowMessage 1 1 '"Die Verweise wurden gesetzt."
"Ihr Dokument ist fertig."
"Bitte schließen Sie das Fenster: Suchen"
"Klick" "" ""'
Return
AnfView:
GetDisplayPrefs PageTabs SectionTabs /*Register abschalten */
Zungen=result
DisplayPrefs PageTabs Off SectionTabs Off
STATUS View
Zoom=result
View 20
Return
EndView:
View Zoom
DisplayPrefs PageTabs word(Zungen,1) SectionTabs word(Zungen,2)
Return
Voreinstellung:
windowtags = WindowID(2),
WindowPosition('TRWP_CENTERDISPLAY'),
WindowFlags('TRWF_NOMINTEXTWIDTH'),
PubScreenName('FinalWriterPubScreen'),
WindowTitle('AmigaGuideImport-Voreinsteller'),
'HorizGroupAC SpaceS',
'VertGroupA SpaceS',
CenteredTextH('Überschriften:'),
'SpaceS',
'HorizGroupAC',
TextID('S_chriftart:',1),
'SpaceS',
GetEntryButton(1),
StringGadget(fond1,2),
'EndGroup',
'HorizGroupAC',
TextID('Schrift_größe:',3),
'SpaceS',
StringGadget(USize,3),
'EndGroup',
'Space',
CenteredTextH('Mengentext:'),
'SpaceS',
'HorizGroupAC',
TextID('Sc_hriftart:',4),
'SpaceS',
GetEntryButton(4),
StringGadget(fond2,5),
'EndGroup',
'HorizGroupAC',
TextID('Schriftgr_öße:',6),
'SpaceS',
StringGadget(TSize,6),
'EndGroup',
'Space',
CenteredTextH('Allgemeines:'),
'SpaceS',
'HorizGroupAC',
TextID('Link_format:',7),
'SpaceS',
StringGadget(Schablone,7),
'EndGroup',
'HorizGroupAC',
TextID('_@node schreiben:',10),
'SpaceS',
CheckBox(10) 'TRAT_Value' node,
'Space',
TextID('Seiten_umbruch:',9),
'SpaceS',
CheckBox(9) 'TRAT_Value' Umbruch,
'EndGroup',
'SpaceS',
'HorizGroupAC',
TextID('Gesch_windigkeit:',8),
'SpaceS',
CycleGadget('speed',speed-1,8) 'TRAT_Flags TRCY_RIGHTLABELS',
'EndGroup',
'SpaceS',
'HorizSeparator',
'SpaceS',
'HorizGroupEC',
Button('_Sichern',15),
'SpaceS',
Button('_Anwenden',25),
'SpaceS',
Button('Ab_bruch',20),
'EndGroup SpaceS',
'EndGroup SpaceS',
'EndGroup SpaceS',
'EndProject'
app2 = TR_CREATEAPP('TRCA_Name AGImport2')
IF app2 ~= '00000000'x THEN DO
window2 = TR_OPENPROJECT(app2,windowtags)
IF window2 ~= '00000000'x THEN DO
ende2 = 0
DO WHILE ~ende2
CALL TR_WAIT(app2,'')
DO WHILE TR_HANDLEMSG(app2,'event')
IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN ende2 = 1
IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
SELECT
WHEN event.trm_id = 8 THEN Do /*BSAusgabe*/
oldspeed=speed
speed=event.trm_data+1
END
WHEN event.trm_id = 9 THEN Do /*Umbruch*/
oldumbruch=Umbruch
Umbruch=event.trm_data
END
WHEN event.trm_id =10 THEN Do /*@node*/
oldnode=node
node=event.trm_data
END
OTHERWISE NOP
END
END
IF event.trm_class = 'TRMS_ACTION' THEN DO
SELECT
WHEN event.trm_id = 1 THEN Do /*USchriftart*/
oldUSchrift=USchrift; oldfond1=fond1
USchrift=rtfilerequest("FWFonts/SWOLFonts",,"Font auswählen...",,"rt_pubscrname=FinalWriterPubScreen")
if USchrift~='' then do
pos = max(index(USchrift,':'),lastpos('/',USchrift))
If pos~=0 then fond1=Delstr(USchrift,1,pos)
CALL TR_SETATTRIBUTE(window2,2,'TROB_String',fond1)
End
END
WHEN event.trm_id = 4 THEN Do /*TSchriftart*/
oldTSchrift=TSchrift; oldfond2=fond2
TSchrift=rtfilerequest("FWFonts/SWOLFonts",,"Font auswählen...",,"rt_pubscrname=FinalWriterPubScreen")
if TSchrift~='' then do
pos = max(index(TSchrift,':'),lastpos('/',TSchrift))
If pos~=0 then fond2=Delstr(TSchrift,1,pos)
CALL TR_SETATTRIBUTE(window2,5,'TROB_String',fond2)
End
END
WHEN event.trm_id = 25 THEN Do /*okay*/
Call Auslesen
if okay=1 then Call Schreiben
END
WHEN event.trm_id = 15 THEN Do /*speichern*/
Call Auslesen
If okay=1 then do
Call Open("prefs","s:FW_AGImport.prefs","W")
Writeln('prefs',USchrift)
Writeln('prefs',USize)
Writeln('prefs',TSchrift)
Writeln('prefs',TSize)
Writeln('prefs',Schablone)
Writeln('prefs',speed)
Writeln('prefs',Umbruch)
Writeln('prefs',node)
Call Close("prefs")
Call Schreiben
End
END
WHEN event.trm_id = 20 THEN Do /*Abbrechen*/
fond1=oldfond1; Umbruch =oldUmbruch; speed=oldspeed; node=oldnode
fond2=oldfond2; USchrift=oldUSchrift; TSchrift=oldTSchrift
ende2=1
END
OTHERWISE NOP
END
END
END
END
CALL TR_CLOSEPROJECT(window2)
END
CALL TR_DELETEAPP(app2)
END
ELSE
CALL quit('Kann das Fenster nicht öffnen',10)
Return
Auslesen:
okay=0
USize = TR_GETATTRIBUTE(window2,3,'TROB_String')
If Datatype(USize,'W')=0 then do
x=rtezrequest("Die SCHRIFTGRÖßE bitte ganzzahlig angeben!","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window2,3,'TROM_ACTIVATE',0)
return
end
If USize<4 then USize=4
If USize>360 then USize=360
TSize = TR_GETATTRIBUTE(window2,6,'TROB_String')
If Datatype(TSize,'W')=0 then do
x=rtezrequest("Die SCHRIFTGRÖßE bitte ganzzahlig angeben!","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window2,6,'TROM_ACTIVATE',0)
return
end
If TSize<4 then TSize=4
If TSize>360 then TSize=360
Schablone = TR_GETATTRIBUTE(window2,7,'TROB_String')
okay=1
Return
Schreiben:
If Umbruch=0 then UB="nein"
else UB="ja"
If node=0 then NO="nein"
else NO="ja"
o1="Überschrift: "||fond1||", Größe: "||USize
o2="Mengentext: "||fond2||", Größe: "||TSize
o3="Ausgabe: "||Schablone||" Geschwindigkeit: "||speed.speed
o4="Seitenumbruch: "||UB||", @node: "||NO
Call TR_SETATTRIBUTE(window1,5,'TRAT_TEXT',o1)
Call TR_SETATTRIBUTE(window1,6,'TRAT_TEXT',o2)
Call TR_SETATTRIBUTE(window1,7,'TRAT_TEXT',o3)
Call TR_SETATTRIBUTE(window1,8,'TRAT_TEXT',o4)
ende2=1
Return
/*******************************************************************************
** Routine, die bei einer Unterbrechung des Scripts aufgerufen wird
*******************************************************************************/
SYNTAX:
CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
/*******************************************************************************
** Script beenden
*******************************************************************************/
quit:
PARSE ARG message,rcode
IF app ~= '00000000'x THEN DO
IF message ~= '' THEN
ret=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
CALL TR_DELETEAPP(app)
END
ELSE
IF message ~= '' THEN DO
SAY message
SAY
OPTIONS PROMPT 'Bitte <RETURN> drücken'
PULL taste
END
address command "flushtrx all"
EXIT(rcode)